package com.cswangdao.domain.vo;


import com.cswangdao.utils.PageUtil;
import lombok.Data;

import java.util.List;

/**
 * xxxVo 这个vo是啥意思  View Object 视图对象
 * @param <T>
 */
@Data
public class BaseRespVo<T> {
    T data;
    String errmsg;
    int errno;

    public static  BaseRespVo okList(List list, long total, Integer page, Integer limit) {
        BaseRespVo baseRespVo = new BaseRespVo<>();
        baseRespVo.setErrmsg("成功");
        baseRespVo.setErrno(0);
        PageVo pageVo = new PageVo();
        pageVo.setPage(page);
        pageVo.setLimit(limit);
        pageVo.setList(list);
        pageVo.setTotal(total);
        // 通过总页码公式计算总页码
        pageVo.setPages(PageUtil.pages(limit,total));
        baseRespVo.setData(pageVo);
        return baseRespVo;
    }

    public static <T> BaseRespVo<T> ok(T data) {
        BaseRespVo<T> baseRespVo = new BaseRespVo<>();
        baseRespVo.setErrmsg("成功");
        baseRespVo.setErrno(0);
        baseRespVo.setData(data);
        return baseRespVo;
    }

    public static BaseRespVo authFail() {
        BaseRespVo baseRespVo = new BaseRespVo<>();
        baseRespVo.setErrmsg("用户帐号或密码不正确");
        baseRespVo.setErrno(605);
        return baseRespVo;
    }

    public static BaseRespVo unAuth() {
        BaseRespVo baseRespVo = new BaseRespVo<>();
        baseRespVo.setErrmsg("请登录");
        baseRespVo.setErrno(501);
        return baseRespVo;
    }
}
